package cn.tedu.csmall.common.web;


import lombok.Data;

import java.io.Serializable;

@Data//自动生成 get/set hashcode/equals toString
public class JsonResult<T> implements Serializable {

    private Integer state;

    private String message;
    // 数据
    private T data;

    private JsonResult() {}

    public static JsonResult<Void> ok() {
        // JsonResult jsonResult = new JsonResult();
        // jsonResult.setState(1);
        // return jsonResult;
        return ok(null);
    }

    public static <T> JsonResult<T> ok(T data) {
        JsonResult<T> jsonResult = new JsonResult<>();
        jsonResult.setState(cn.tedu.csmall.common.web.State.OK.getValue());
        jsonResult.setData(data);
        return jsonResult;
    }

    public static JsonResult<Void> fail(cn.tedu.csmall.common.web.State state, String message) {
        JsonResult<Void> jsonResult = new JsonResult<>();
        jsonResult.setState(state.getValue());
        jsonResult.setMessage(message);
        return jsonResult;
    }

}
